#pragma once 
#include<iostream>
#include"protocol.hpp"
class NetCal
{
public:
    //处理函数
    Response Handler(Request& q)
    {
        int result=0;
        int code=0;
        switch(q.OPER())
        {
            case '+':
                result=q.X()+q.Y();
            break;
            case '-':
                result=q.X()-q.Y();
            break;
            case '*':
                result=q.X()*q.Y();
            break;
            case '/':
                {
                    if(q.Y()==0)
                    {
                        code=1;//代表除零错误
                    }
                    else
                    {
                        result=q.X()/q.Y();
                    }
                }
            break;
            case '%':
                {
                    if(q.Y()==0)
                    {
                        code=2;//代表模零错误
                    }
                    else
                    {
                        result=q.X()%q.Y();
                    }
                }
            break;
            default:
                code=3;//非法操作
            break;
        }
        Response p(result,code);
        return p;
    }
};